'NW4XPRNT.BAS - Novell Netware 4.X Interface for Visual Basic for WIndows
' Contains functions for Printer Functions, Capture utilites and
' Printer definations
' Created - 4/25/95
'Requirements - NONE
'** Call NWGetMaxPrinters() to see how many of these are valid.
Global Const LPT1 = 1
Global Const LPT2 = 2
Global Const LPT3 = 3
Global Const LPT4 = 4
Global Const LPT5 = 5
Global Const LPT6 = 6
Global Const LPT7 = 7
Global Const LPT8 = 8
Global Const LPT9 = 9
Global Const START_CAPTURE = 1
Global Const END_CAPTURE = 2
Global Const CANCEL_CAPTURE = 3
Global Const GET_PRINT_JOB_FLAGS = 4
Global Const SET_PRINT_JOB_FLAGS = 5
Global Const GET_BANNER_USER_NAME = 6
Global Const SET_BANNER_USER_NAME = 7
Global Const GET_PRINTER_SETUP_STRING = 8
Global Const SET_PRINTER_SETUP_STRING = 9
Global Const GET_PRINTER_RESET_STRING = 10
Global Const SET_PRINTER_RESET_STRING = 11
Type PrintJobStruct
clientStation As String * 1
clientTask As String * 1
clientID As Long
targetServerID As Long
targetExecutionTime As String * 6
jobEntryTime As String * 6
jobNumber As Integer
formType As Integer
jobPosition As String * 1
jobControlFlags As String * 1
jobFileName As String * 14
jobFileHandle As String * 16
servicingServerStation As String * 1
servicingServerTask As String * 1
servicingServerID As Long
jobDescription As String * 50
clientJobInfoVer As String * 1
tabSize As String * 1
numberCopies As Integer
printFlags As Integer
maxLines As Integer
maxChars As Integer
formName As String * 16
reserved As String * 6 '/* must be set to zeros */
bannerUserName As String * 13
bannerFileName As String * 13
bannerHeaderFileName As String * 14
filePathName As String * 80
End Type
Type NWPrintJobStruct
clientStation As Long
clientTask As Long
clientID As Long
targetServerID As Long
targetExecutionTime As String * 6
jobEntryTime As String * 6
jobNumber As Long
formType As Integer
jobPosition As Integer
jobControlFlags As Integer
jobFileName As String * 14
jobFileHandle As Long
servicingServerStation As Long
servicingServerTask As Long
servicingServerID As Long
jobDescription As String * 50
clientJobInfoVer As String * 1
tabSize As String * 1
numberCopies As Integer
printFlags As Integer
maxLines As Integer
maxChars As Integer
formName As String * 16
reserved As String * 6 '/* must be set to zeros */
bannerUserName As String * 13
bannerFileName As String * 13
bannerHeaderFileName As String * 14
filePathName As String * 80
End Type
Type PRINTER_STATUS
printerHalted As String * 1
printerOffline As String * 1
currentFormType As String * 1
redirectedPrinter As String * 1
End Type
Type NWCAPTURE_FLAGS1
jobDescription As String * 50 'OS/2, VLM only
'VLM returns or sets only 12 characters */
'plus the NULL -- a total of 13 BYTEs */
jobControlFlags As String * 1 'OS/2, VLM only */
tabSize As String * 1
numCopies As Integer
printFlags As Integer
maxLines As Integer
maxChars As Integer
formName As String * 13
reserved As String * 9
formType As Integer
bannerText As String * 13
reserved2 As String * 1
flushCaptureTimeout As Integer 'DOS/WIN only
flushCaptureOnClose As String * 1 'DOS/WIN only
End Type
Type NWCAPTURE_FLAGS2
connID As Integer
queueID As Long
setupStringMaxLen As Integer
resetStringMaxLen As Integer
LPTCaptureFlag As String * 1 'DOS/WIN only
fileCaptureFlag As String * 1 'DOS/WIN only
timingOutFlag As String * 1 'DOS/WIN only
inProgress As String * 1 'DOS/WIN only */
printQueueFlag As String * 1 'DOS/WIN only */
printJobValid As String * 1 'DOS/WIN only */
queueName As String * 65 'VLM only */
End Type
Type CaptureFlagsStruct
status As String * 1
flags As String * 1
tabSize As String * 1
serverPrinter As String * 1
numberCopies As String * 1
formType As String * 1
reserved As String * 1
bannerText As String * 13
reserved2 As String * 1
localLPTDevice As String * 1
captureTimeOutCount As Integer
captureOnDeviceClose As String * 1
End Type
Type FlagBufferStruct
status As String * 1
flags As String * 1
tabSize As String * 1
serverPrinter As String * 1
numberCopies As String * 1
formType As String * 1
reserved As String * 1
bannerText As String * 13
reserved2 As String * 1
localLPTDevice As String * 1
captureTimeOutCount As Integer
captureOnDeviceClose As String * 1
maxLines As Integer
maxChars As Integer
formName As String * 13
LPTCaptureFlag As String * 1
fileCaptureFlag As String * 1
timingOutFlag As String * 1
printerSetupBuffAddr As String * 1 'char NWPTR
printerResetBuffAddr As String * 1 'char NWPTR
connID As Integer 'May not be Vyte - Original decl as NWCONN_ID_BYTE
captureInProgress As String * 1
printQueueFlag As String * 1
printJobValid As String * 1
queueID As Long
printJobNumber As Integer
End Type
'Used by VLM code
Type ExtendedCaptureFlags
nameNDSID As Long
connHandle As Integer
queueName As String * 65
targetServerID As Long
targetExecutionTime As String * 6
jobControlFlags As Integer
bannerName As String * 13
jobDescription As String * 13
reserved As Long
End Type
'Netware 2.15 Only
Declare Function NWGetPrinterStatus Lib "NWCALLS.DLL" (ByVal conn%, ByVal printerNumber%, status As PRINTER_STATUS) As Integer
Declare Function NWStartFileCapture Lib "NWCALLS.DLL" (ByVal conn%, ByVal LPTDevice%, ByVal dirhandle%, ByVal filePath$) As Integer
Declare Function NWStartQueueCapture Lib "NWCALLS.DLL" (ByVal conn%, ByVal LPTDevice%, ByVal queueID&, ByVal queueName$) As Integer
Declare Function NWGetCaptureStatus Lib "NWCALLS.DLL" (ByVal LPTDevice%) As Integer
Declare Function NWFlushCapture Lib "NWCALLS.DLL" (ByVal LPTDevice%) As Integer
Declare Function NWEndCapture Lib "NWCALLS.DLL" (ByVal LPTDevice%) As Integer
Declare Function NWCancelCapture Lib "NWCALLS.DLL" (ByVal LPTDevice%) As Integer
Declare Function NWGetBannerUserName Lib "NWCALLS.DLL" (ByVal userName$) As Integer
Declare Function NWSetBannerUserName Lib "NWCALLS.DLL" (ByVal userName$) As Integer
Declare Function NWGetCaptureFlags Lib "NWCALLS.DLL" (ByVal LPTDevice%, captureFlags1 As NWCAPTURE_FLAGS1, captureFlags2 As NWCAPTURE_FLAGS2) As Integer
Declare Function NWSetCaptureFlags Lib "NWCALLS.DLL" (ByVal conn%, ByVal LPTDevice%, captureFlags1 As NWCAPTURE_FLAGS1) As Integer
Declare Function NWGetPrinterStrings Lib "NWCALLS.DLL" (ByVal LPTDevice%, setupStringLen%, ByVal setupString$, resetStringLen%, ByVal resetString$) As Integer
Declare Function NWSetPrinterStrings Lib "NWCALLS.DLL" (ByVal LPTDevice%, ByVal setupStringLen%, ByVal setupString$, resetStringLen%, ByVal resetString$) As Integer
Declare Function NWGetMaxPrinters Lib "NWCALLS.DLL" (numPrinters%) As Integer